package com.model.demo.designmodel.template.course;

public abstract class NetworkCourse {



    protected void creatCourse(){
        this.postPreCourse();
        this.makeCoursePPT();
        this.recordCouse();
        this.postCodeResource();
        
        if(needHomework()){
            checkHomework();
        }
    }

    protected abstract void checkHomework();

    protected boolean needHomework() {
        return false;
    }


    final void  postPreCourse(){
        System.out.println("上传预习资料");
    }

    final void makeCoursePPT(){
        System.out.println("制作课件PPT");
    }

    final void recordCouse(){
        System.out.println("录制视频");
    }

    final void postCodeResource(){
        System.out.println("上传源码");
    }



}
